package edu.spec.dengyan.week08.class02;

/**
 * Author       : Dengyan
 * Date         : 2018/10/11 23:19
 * Description  : “Animal”类
 */
public abstract class Animal {
    //name(即姓名),food(主食),area(分别地区)
    private String name;
    private String food;
    private String area;
//构造方法，通过参数初始化全部属性；
public Animal() {
}
    public Animal(String name, String food, String area) {
        this.name = name;
        this.food = food;
        this.area = area;
    }
    //成员方法1，抽象方法，返回值类型String，方法名 findFood，即觅食，该方法是抽象方法；
    abstract String findFood();
    //成员方法2，返回值类型String，方法名eat，即进食，方法体返回“name吃food”，name和food替换成相应的值。
    public String eat(){
        return this.name+"吃"+this.food;
    }
    //成员方法3，抽象方法，返回值类型String，方法名wholeLife，即动物的一生，方法体的实现见5）
//    wholeLife方法要求依次运行born、findFood、eat、old、sick、die，返回运行结果。
    abstract String wholeLife();
    public String dosomething(){
        return findFood()+"\n"+eat()+"\n";
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getFood() {
        return food;
    }

    public void setFood(String food) {
        this.food = food;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }
}
